package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_repurchase")
public class FRepurchase {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 截止日期
     */
    @Column(name = "end_date")
    private String endDate;

    /**
     * 进度
     */
    private String proc;

    /**
     * 过期日期
     */
    @Column(name = "exp_date")
    private String expDate;

    /**
     * 回购数量
     */
    private Float vol;

    /**
     * 回购金额
     */
    private Float amount;

    /**
     * 回购最高价
     */
    @Column(name = "high_limit")
    private Float highLimit;

    /**
     * 回购最低价
     */
    @Column(name = "low_limit")
    private Float lowLimit;

    public FRepurchase(Long tid, String tsCode, String annDate, String endDate, String proc, String expDate, Float vol, Float amount, Float highLimit, Float lowLimit) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.endDate = endDate;
        this.proc = proc;
        this.expDate = expDate;
        this.vol = vol;
        this.amount = amount;
        this.highLimit = highLimit;
        this.lowLimit = lowLimit;
    }

    public FRepurchase() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取截止日期
     *
     * @return end_date - 截止日期
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 设置截止日期
     *
     * @param endDate 截止日期
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取进度
     *
     * @return proc - 进度
     */
    public String getProc() {
        return proc;
    }

    /**
     * 设置进度
     *
     * @param proc 进度
     */
    public void setProc(String proc) {
        this.proc = proc;
    }

    /**
     * 获取过期日期
     *
     * @return exp_date - 过期日期
     */
    public String getExpDate() {
        return expDate;
    }

    /**
     * 设置过期日期
     *
     * @param expDate 过期日期
     */
    public void setExpDate(String expDate) {
        this.expDate = expDate;
    }

    /**
     * 获取回购数量
     *
     * @return vol - 回购数量
     */
    public Float getVol() {
        return vol;
    }

    /**
     * 设置回购数量
     *
     * @param vol 回购数量
     */
    public void setVol(Float vol) {
        this.vol = vol;
    }

    /**
     * 获取回购金额
     *
     * @return amount - 回购金额
     */
    public Float getAmount() {
        return amount;
    }

    /**
     * 设置回购金额
     *
     * @param amount 回购金额
     */
    public void setAmount(Float amount) {
        this.amount = amount;
    }

    /**
     * 获取回购最高价
     *
     * @return high_limit - 回购最高价
     */
    public Float getHighLimit() {
        return highLimit;
    }

    /**
     * 设置回购最高价
     *
     * @param highLimit 回购最高价
     */
    public void setHighLimit(Float highLimit) {
        this.highLimit = highLimit;
    }

    /**
     * 获取回购最低价
     *
     * @return low_limit - 回购最低价
     */
    public Float getLowLimit() {
        return lowLimit;
    }

    /**
     * 设置回购最低价
     *
     * @param lowLimit 回购最低价
     */
    public void setLowLimit(Float lowLimit) {
        this.lowLimit = lowLimit;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", proc=").append(proc);
        sb.append(", expDate=").append(expDate);
        sb.append(", vol=").append(vol);
        sb.append(", amount=").append(amount);
        sb.append(", highLimit=").append(highLimit);
        sb.append(", lowLimit=").append(lowLimit);
        sb.append("]");
        return sb.toString();
    }
}